
main() {
  // 购物车数据
  List<Map> goodsList = [
    {
      "id": 1,
      "price": 22.68,
      "count": 3,
      "goods_name": "西瓜",
      "selectd": true,
    },
    {
      "id": 2,
      "price": 11.99,
      "count": 3,
      "goods_name": "草莓",
      "selectd": true,
    },
    {
      "id": 3,
      "price": 60.99,
      "count": 1,
      "goods_name": "车厘子",
      "selectd": false,
    },
    {
      "id": 4,
      "price": 11.68,
      "count": 3,
      "goods_name": "平谷大桃",
      "selectd": false,
    }
  ];
  //总金额初始值
  // double totalPrice = 0;
  //1.计算选中商品的总金额
  // for (int i = 0; i < goodsList.length; i++) {
  //   if (goodsList[i]['selectd']) {
  //     totalPrice += goodsList[i]['price'] * goodsList[i]['count'];
  //   }
  // }
  // print('选中商品的总金额为：${totalPrice.toStringAsFixed(2)}');

  //forEach方法计算选中商品的价格
  // goodsList.forEach((item) {
  //   if (item['selectd']) {
  //     totalPrice += item['price'] * item['count'];
  //   }
  // });
  // print('选中的金额是${totalPrice.toStringAsFixed(2)}');

  //fold 方法计算选中商品的价格
  // double totalPrice = goodsList.fold(0, (value, item) {
  //   if (item['selectd']) {
  //     return value + item['price'] * item['count'];
  //   }
  //   return value;
  // });
  // print('选中商品的价格${totalPrice.toStringAsFixed(2)}');

  //筛选 where
  List<Map> selectdList = goodsList.where((item) => item['selectd']).toList();
  print('选中商品的个数${selectdList.length}');
  double totalPrice = selectdList.fold(0, (value, item) {
    return value + item['price'] * item['count'];
  });
  print('选中商品的总价格${totalPrice.toStringAsFixed(2)}');
}
